import Vue from 'vue'
import Vuex from 'vuex'

Vue.use( Vuex )

export default new Vuex.Store({
	modules:{
		toast:{
			state:{
				sign:false,
				msg:''
			},
			getters:{

			},
			mutations:{
				updateToastState(state,info){
					state.sign = info.sign
					state.msg = info.text
				}
			},
			actions:{
				ChangeToastState({commit},info){
					let $toast = $('#cm');
			  		if( !$toast.hasClass('up') ){
			            $toast.addClass('up');
			            setTimeout(function(){
			                $toast.removeClass('up');
			            },5000)
			        }
					commit( 'updateToastState',info )
				}
			}
		},
		entry:{
			state:{
				currentView:'login'
			},
			getters:{

			},
			mutations:{
				updateCurrentView(state,m){
					state.currentView = m;
				}
			},
			actions:{
				changeCurrentView({commit},m){
					commit( 'updateCurrentView',m );
				}
			}
		},
		application:{
			state:{
			},
			getters:{

			},
			mutations:{
				updateApplication(state,m){
					state.currentView = m;
				}
			},
			actions:{
				changeApplication({commit},m){
					commit( 'updateApplication',m );
				}
			}
		}
	}
})